With the increase in availability of high-speed, high-bandwidth network capacity, cloud computing has become a more common solution for providing computing resources to users. Using cloud computing techniques, a data center may provide various services (e.g., applications, data access, data storage, and the like) to a remote end-user, without requiring that the end-user have knowledge of the hardware and/or software infrastructure that provides the services.
Cloud computing services may provide a remote end-user with access to a host server within a data center, and the host server may include one or more virtual machines (VMs) on which customers may install and execute third party software, such as an operating system (OS) and/or various applications. Each VM has access to a virtualization stack—software that provides support for one or more virtual devices of the host server. However, traditional virtualization stacks tend to be large and may have security vulnerabilities. Thus, traditional virtualization techniques used in cloud computing could allow malicious third-party software to compromise an entire physical server in the cloud, or even other servers in the cloud.